/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.qx.entity;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;

import com.thinkgem.jeesite.common.persistence.DataEntity;
import com.thinkgem.jeesite.common.utils.excel.annotation.ExcelField;

/**
 * 单表生成Entity
 * @author zequs
 * @version 2017-08-23
 */
public class QxMatch extends DataEntity<QxMatch> {
	
	private static final long serialVersionUID = 1L;
	private Date gameTime;		// 比赛时间
	private String leagueMatchesId;		// 联赛id
	private String leagueMatchesName;		// 联赛名称
	private Integer wheel;		// 轮
	private String mainTeamId;		// 主队
	private String mainTeamName;		// 主队名
	private String guestTeamId;		// 客队
	private String guestTeamName;		// 客队名
	private Integer mainScore;		// 主队分数
	private Integer guestScore;		// 客队分数
	private Double oddsWin;		// 赔率-赢
	private Double oddsEven;		// 赔率-平
	private Double oddsLose;		// 赔率-输
	private Integer status;		// 是否比赛
	private Integer recommendType;		// 推荐类型1：强烈，2：推荐，3：确定，4：否定，5：未知
	private String unknownReason;		// 未知原因
	private String score;

	//非数据库字段,
	private String teamId;  //用于查找最近6次比赛记录
	
	public QxMatch() {
		super();
	}

	public QxMatch(String id){
		super(id);
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@NotNull(message="比赛时间不能为空")
	@ExcelField(title="比赛时间", type=2, align=1, sort=1)
	public Date getGameTime() {
		return gameTime;
	}

	public void setGameTime(Date gameTime) {
		this.gameTime = gameTime;
	}
	
	@NotNull(message="联赛id不能为空")
	public String getLeagueMatchesId() {
		return leagueMatchesId;
	}

	public void setLeagueMatchesId(String leagueMatchesId) {
		this.leagueMatchesId = leagueMatchesId;
	}
	
	@Length(min=0, max=64, message="联赛名称长度必须介于 0 和 64 之间")
	@ExcelField(title="比赛时间", type=2, align=1, sort=100)
	public String getLeagueMatchesName() {
		return leagueMatchesName;
	}

	public void setLeagueMatchesName(String leagueMatchesName) {
		this.leagueMatchesName = leagueMatchesName;
	}
	
	@NotNull(message="轮不能为空")
	@ExcelField(title="轮", type=2, align=1, sort=5)
	public Integer getWheel() {
		return wheel;
	}

	public void setWheel(Integer wheel) {
		this.wheel = wheel;
	}
	
	@NotNull(message="主队不能为空")
	public String getMainTeamId() {
		return mainTeamId;
	}

	public void setMainTeamId(String mainTeamId) {
		this.mainTeamId = mainTeamId;
	}
	
	@Length(min=0, max=64, message="主队名长度必须介于 0 和 64 之间")
	@ExcelField(title="主队名", type=2, align=1, sort=10)
	public String getMainTeamName() {
		return mainTeamName;
	}

	public void setMainTeamName(String mainTeamName) {
		this.mainTeamName = mainTeamName;
	}
	
	@NotNull(message="客队不能为空")
	public String getGuestTeamId() {
		return guestTeamId;
	}

	public void setGuestTeamId(String guestTeamId) {
		this.guestTeamId = guestTeamId;
	}
	
	@Length(min=0, max=64, message="客队名长度必须介于 0 和 64 之间")
	@ExcelField(title="客队", type=2, align=1, sort=25)
	public String getGuestTeamName() {
		return guestTeamName;
	}

	public void setGuestTeamName(String guestTeamName) {
		this.guestTeamName = guestTeamName;
	}
	
	public Integer getMainScore() {
		return mainScore;
	}

	public void setMainScore(Integer mainScore) {
		this.mainScore = mainScore;
	}
	
	public Integer getGuestScore() {
		return guestScore;
	}

	public void setGuestScore(Integer guestScore) {
		this.guestScore = guestScore;
	}
	
	@ExcelField(title="赢赔率", type=2, align=1, sort=30)
	public Double getOddsWin() {
		return oddsWin;
	}

	public void setOddsWin(Double oddsWin) {
		this.oddsWin = oddsWin;
	}
	
	@ExcelField(title="平赔率", type=2, align=1, sort=35)
	public Double getOddsEven() {
		return oddsEven;
	}

	public void setOddsEven(Double oddsEven) {
		this.oddsEven = oddsEven;
	}
	
	@ExcelField(title="输赔率", type=2, align=1, sort=40)
	public Double getOddsLose() {
		return oddsLose;
	}

	public void setOddsLose(Double oddsLose) {
		this.oddsLose = oddsLose;
	}
	
	@NotNull(message="是否比赛不能为空")
	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}
	
	public Integer getRecommendType() {
		return recommendType;
	}

	public void setRecommendType(Integer recommendType) {
		this.recommendType = recommendType;
	}
	
	@Length(min=0, max=255, message="未知原因长度必须介于 0 和 255 之间")
	public String getUnknownReason() {
		return unknownReason;
	}

	public void setUnknownReason(String unknownReason) {
		this.unknownReason = unknownReason;
	}

	@ExcelField(title="比分", type=2, align=1, sort=20)
	public String getScore() {
		return score;
	}

	public void setScore(String score) {
		this.score = score;
	}

	public String getTeamId() {
		return teamId;
	}

	public void setTeamId(String teamId) {
		this.teamId = teamId;
	}
	
}